import uuid

# 存储映射关系：整数 → 原始数据
int_to_data = {}


def string_or_int_to_uuid_int(data):
    """将字符串或整数转换为 UUID 整数"""
    # 如果是整数，先转为字符串（确保 UUID 生成一致）
    data_str = str(data) if isinstance(data, int | list) else data
    # 生成 UUID（基于 NAMESPACE_DNS 和输入数据）
    uid = uuid.uuid5(uuid.NAMESPACE_DNS, data_str)
    # 存储映射
    int_to_data[uid.int] = data
    # 返回 UUID 的整数形式
    return uid.int


def get_original_data(uuid_int):
    """通过 UUID 整数还原原始数据"""
    return int_to_data.get(uuid_int, None)
